package com.kyrie.lib_sys.application.borrowApplys.service;

import com.kyrie.lib_sys.common.entity.PageResult;
import com.kyrie.lib_sys.common.pojo.dto.BorrowDTO;
import com.kyrie.lib_sys.common.pojo.dto.BorrowPageQueryDTO;
import com.kyrie.lib_sys.common.pojo.entity.Borrow;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;

import java.io.IOException;
import java.util.List;

public interface BorrowService {

    /**
     * 添加借阅信息
     * @param borrowDTO
     */
    void insert(BorrowDTO borrowDTO);

    /**
     * 分页查询借阅信息
     * @param borrowPageQueryDTO
     * @return
     */
    PageResult queryPage(BorrowPageQueryDTO borrowPageQueryDTO);


    /**
     * 查询借阅信息
     * @param borrowDTO
     * @return
     */
    Borrow queryBorrow(BorrowDTO borrowDTO);

    /**
     * 修改借阅信息
     * @param borrowDTO
     */
    void update(BorrowDTO borrowDTO);

    /**
     * 删除借阅信息
     * @param id
     */
    void deleteById(Long id);

    /**
     * 批量删除借阅信息
     * @param ids
     */
    void deleteBatch(List<Long> ids);

    /**
     * 批量插入借阅信息
     * @param borrowDTOS
     */
    void insertBatch(List<BorrowDTO> borrowDTOS);


    void excelPort(HttpServletResponse response) throws IOException;
}
